﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crosland.Automotriz.Core;
using System.Data;
using System.Data.SqlClient;
using Crosland.Automotriz.Entidad;

namespace Crosland.Automotriz.Data.Dao.Linq
{
    public class clsT_Ven_Cartas_Veh_ImpresionDAO
    {
        private readonly AutomotrizEntities ContextoDeObjs = new AutomotrizEntities();
        private readonly DM_CROSLAND_20130417Entities ContextoDeObjsEntidad = new DM_CROSLAND_20130417Entities();

        public void GuardarImpresionCMPCT(T_VEN_CARTAS_VEH_IMPRESION entity)
        {
            ContextoDeObjs.ExecuteStoreCommand("exec USP_GUARDAR_IMPRESION_CMP_CT @ID_ORG_VTA={0}, @ID_OFI_VTA={1}, @NRO_FACTURA={2}, @IND_IMPR_CMP={3}, @IND_IMPR_CT={4}, @FEC_IMPRESION_CMP={5}, @FEC_IMPRESION_CT={6}", entity.ID_ORG_VTA, entity.ID_OFI_VTA, entity.NRO_FACTURA, entity.IND_IMPR_CMP, entity.IND_IMPR_CT, entity.FEC_IMPRESION_CMP, entity.FEC_IMPRESION_CT);
        }

        public void GestionRegistroEnviarData() 
        {
            ContextoDeObjs.ExecuteStoreCommand("exec USP_GestionRegistro_EnviarData");
        }

        public void EstadoComprobanteExportar() 
        {
            ContextoDeObjs.ExecuteStoreCommand("exec USP_EstadoComprobanteExportar");
        }

        public List<Crosland.Automotriz.Entidad.T_VEN_CARTAS_VEH_IMPRESION_LISTA> Listar(int anio, int mes)
        {
            
            var p = new object[] { new SqlParameter("@anio", anio), new SqlParameter("@mes", mes) };
            var resultado = ContextoDeObjsEntidad.ExecuteStoreQuery<Crosland.Automotriz.Entidad.T_VEN_CARTAS_VEH_IMPRESION_LISTA>("exec USP_T_VEN_CARTAS_VEH_IMPRESION_Listar @anio,@mes", p).AsQueryable().ToList();
            return resultado;
        }

        public List<Crosland.Automotriz.Entidad.TH_VENTA_ESTADO> ListarVentasEstado(int anio, int mes)
        {
            var p = new object[] { new SqlParameter("@anio", anio), new SqlParameter("@mes", mes) };
            var resultado = ContextoDeObjsEntidad.ExecuteStoreQuery<Crosland.Automotriz.Entidad.TH_VENTA_ESTADO>("exec USP_TH_VENTA_ESTADO @anio,@mes", p).AsQueryable().ToList();
            return resultado;
        }


        public List<Crosland.Automotriz.Entidad.T_VEN_CARTAS_VEH_IMPRESION_LISTA> Listar_x_Poliza(int anio, int mes)
        {
            var p = new object[] { new SqlParameter("@anio", anio), new SqlParameter("@mes", mes) };
            var resultado = ContextoDeObjsEntidad.ExecuteStoreQuery<Crosland.Automotriz.Entidad.T_VEN_CARTAS_VEH_IMPRESION_LISTA>("exec USP_T_VEN_CARTAS_VEH_IMPRESION_Fecha_Poliza_Listar @anio,@mes", p).AsQueryable().ToList();
            return resultado;
        }

    }
}
